package com.yanfan.zutai.service;


import com.yanfan.iot.domain.Device;
import com.yanfan.zutai.domain.BDeviceVideo;
import com.yanfan.zutai.domain.vo.BVideoToken;

import java.util.List;


/**
 * 视频监控Service接口
 *
 * @author ruoyi
 * @date 2023-11-06
 */
public interface IBDeviceVideoService {
    /**
     * 查询视频监控
     *
     * @param id 视频监控主键
     * @return 视频监控
     */
    BDeviceVideo selectBDeviceVideoById(Long id);

    /**
     * 查询视频监控列表
     *
     * @param bDeviceVideo 视频监控
     * @return 视频监控集合
     */
    List<BDeviceVideo> selectBDeviceVideoList(BDeviceVideo bDeviceVideo);

    /**
     * 查询视频监控列表
     *
     * @param ztGuid 组态编号
     * @return 视频监控集合
     */
    List<Device> selectBDeviceVideoLists(String ztGuid);

    /**
     * 新增视频监控
     *
     * @param bDeviceVideo 视频监控
     * @return 结果
     */
    int insertBDeviceVideo(BDeviceVideo bDeviceVideo);

    /**
     * 修改视频监控
     *
     * @param bDeviceVideo 视频监控
     * @return 结果
     */
    int updateBDeviceVideo(BDeviceVideo bDeviceVideo);

    /**
     * 批量删除视频监控
     *
     * @param ids 需要删除的视频监控主键集合
     * @return 结果
     */
    int deleteBDeviceVideoByIds(Long[] ids);

    /**
     * 删除视频监控信息
     *
     * @param id 视频监控主键
     * @return 结果
     */
    int deleteBDeviceVideoById(Long id);

    /**
     * 刷新token
     */
    BVideoToken refreshToken(BDeviceVideo bDeviceVideo);

    /**
     * 刷新全部token
     */
    void refreshAllToken();

    /**
     * 设备导入
     */
    String importData(List<BDeviceVideo> deviceList);
}
